package com.resou.reader.data.readhistory;

import com.resou.reader.api.entry.Result;
import com.resou.reader.data.bookshelf.model.ReadRecord;

import io.reactivex.Observable;
import retrofit2.Call;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.Query;

public interface ReadRecordService {
    /**
     * 查询阅读足迹
     *
     * @param token    用户的唯一token
     * @param page     页码
     * @param pageSize 每一页的书本数量
     * @return 包含最近阅读的结果列表
     */
    @POST("user/readrecord/query")
    Observable<Result<ReadRecord>> getReadRecord(@Header("token") String token, @Query("page") int page, @Query("pageSize") int pageSize);

    /**
     * 保存用户阅读足迹
     *
     * @return 成功与否的结果
     */
    @POST("book/reading/record")
    Observable<Result> saveReadingRecord(@Header("token") String token, @Query("bookId") String bookId, @Query("chapterId") String chapterId);

    /**
     *
     *
     * @param token
     * @param bookId
     * @param chapterId
     * @return
     */
    @POST("book/reading/record")
    Call<Result> uploadReadingRecord(@Header("token") String token, @Query("bookId") String bookId, @Query("chapterId") String chapterId);

    /**
     * 清空阅读足迹
     *
     * @param token
     * @return
     */
    @POST("user/readrecord/clean")
    Observable<Result> clearReadRecord(@Header("token") String token);

}
